package com.weijian.dal.model;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 消息通知实体类
 */
@Data
@TableName("notification_message")
public class NotificationMessage {
    
    /**
     * 消息ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    
    /**
     * 接收用户ID
     */
    private Long receiverId;
    
    /**
     * 发送用户ID（可选）
     */
    private Long senderId;
    
    /**
     * 消息类型
     */
    private String type;
    
    /**
     * 消息标题
     */
    private String title;
    
    /**
     * 消息内容
     */
    private String content;
    
    /**
     * 跳转链接
     */
    private String actionUrl;
    
    /**
     * 是否已读：0-未读 1-已读
     */
    private Boolean isRead;
    
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createdTime;
    
    /**
     * 阅读时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime readTime;
    
    /**
     * 逻辑删除：0-正常 1-删除
     */
    @TableLogic
    private Boolean deleted;
}